///**
// * Project Untitled
// */
//
//
//#include "Connection.h"
//
///**
// * Connection implementation
// */
//
//
///**
// * @return std::shared_ptr<Connection>
// */
//
//using namespace boost::asio;
//Connection::Connection(io_context& io_context, ip::tcp::resolver::results_type results_type) : socket{io_context}
//{
//    boost::asio::async_connect(socket, results_type, [this] (const boost::system::error_code& error, ip::tcp::endpoint) {
//        if (!error) {
//            asyncReceive();
//            return;
//        }
//        else {
//            throw std::runtime_error("Failed to open socket");
//        }
//    });
//};
//
//std::shared_ptr<Connection> Connection::create(io_context& io_context, ip::tcp::resolver::results_type results_type) {
//    return std::make_shared<Connection>(io_context, results_type);
//}
//
///**
// * @param packet
// */
//void Connection::asyncSend(Packet& packet) {
//
//}
//
///**
// * @return void
// */
//void Connection::asyncReceive() {
//    return;
//}